using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;

namespace ERP.RBAC
{
    public interface IPermissionServices : IApplicationService
    {
        /// <summary>
        /// 获取所有权限列表
        /// </summary>
        /// <returns>权限列表</returns>
        Task<List<Permissions>> GetAllPermissionsAsync();
        
        /// <summary>
        /// 获取角色的权限ID列表
        /// </summary>
        /// <param name="roleId">角色ID</param>
        /// <returns>权限ID列表</returns>
        Task<List<int>> GetRolePermissionsAsync(int roleId);
        
        /// <summary>
        /// 保存角色权限
        /// </summary>
        /// <param name="roleId">角色ID</param>
        /// <param name="permissionIds">权限ID列表</param>
        /// <returns>是否成功</returns>
        Task<bool> SaveRolePermissionsAsync(int roleId, List<int> permissionIds);
    }
} 